---@class GT.fog 雾
---@field fog Fog 雾
GT.fog=class()

---@class fog_data 雾
---@field fog Fog 雾

---@param data fog_data
function GT.fog:ctor(data)
    self.fog=data.fog
end

---转对象
---@param fog Fog
function GT.fog.obj(fog)
    ---@type fog_data
    local data = {
        fog = fog
    }
    return new(GT.fog, data)
end

--- 根据局部雾ID返回局部雾
---@param res_id FogID 雾ID
---@return GT.fog
function GT.fog.get_fog_res_by_res_id(res_id)
    return GT.fog.obj(game_api.get_fog_res_by_res_id(res_id))
end

--- 修改雾效属性
---@param fog GT.fog 雾
---@param op_flag Int32 默认参数
---@param yaw Float 朝向
---@param pos_x Float 位置x
---@param pos_y Float 位置y
---@param pos_z Float 位置z
---@param scale_x Float 缩放x
---@param scale_y Float 缩放y
---@param scale_z Float 缩放z
---@param color_r Float 颜色r
---@param color_g Float 颜色g
---@param color_b Float 颜色b
---@param density Float 浓度
---@param flow_speed Float 流速
function GT.fog:set_fog_attr(fog,op_flag,yaw,pos_x,pos_y,pos_z,scale_x,scale_y,scale_z,color_r,color_g,color_b,density,flow_speed)
    game_api.set_fog_attr(fog.fog,op_flag,yaw,pos_x,pos_y,pos_z,scale_x,scale_y,scale_z,color_r,color_g,color_b,density,flow_speed)
end